package Work.Work1;

import org.omg.CORBA.PUBLIC_MEMBER;

import java.util.*;

/*
 *@Student 张策
 */
//public class Dao <T>{
//    public Dao(String id,User user) {
//        map.put(id,user);
//    }
//    private Map map=new HashMap<String,T>();
//    public void save(String id,T entity){
//        map.put(id,entity);
//    }
//    public T get(String id){
//       return (T)map.get(id);
//    }
//    public void update(String id,T entity){
//        map.put(id,entity);
//    }
//    public List<T> list(){
//        List<User> users = new ArrayList<>();
//        Collection<User> col= map.values();
//        for (User object :col) {
//            users.add(object);
//        }
//        return (List<T>) users;
//    }
//    public void delete(String id){
//        map.remove(id);
//    }
//    @Override
//    public String toString() {
//        return "Dao{" +
//                "map=" + map +
//                '}';
//    }
//}
public class Dao <T>{
//    public Dao(String id,User user) {
//        map.put(id,user);
//    }
    private Map<String,T> map=new HashMap();
    public void save(String id,T entity){
        map.put(id,entity);
    }
    public T get(String id){
        return map.get(id);
    }
    public void update(String id,T entity){
        map.put(id,entity);
    }
    public List<T> list(){
        List<T> list = new ArrayList<>();
        Set<String> keySet = map.keySet();
        for (String key :keySet) {
            list.add(map.get(key));
        }
        return  list;
    }
    public void delete(String id){
        map.remove(id);
    }
    @Override
    public String toString() {
        return "Dao{" +
                "map=" + map +
                '}';
    }
}